package com.boarsoft.boar.soagov.flow;

import com.boarsoft.boar.entity.FlowInfo;
import com.boarsoft.common.dao.PagedResult;

public interface FlowBiz {
	/**
	 * 删除某个流程，同时删除对应的目录
	 *
	 * @param id
	 * @return
	 */
	void delete(String id);

	/**
	 * 启用指定流程，此流程将被打包部署
	 *
	 * @param id
	 * @return
	 */
	void enable(String id);

	/**
	 * 停用指定流程
	 *
	 * @param
	 * @return
	 */
	void disable(String id);

	/**
	 * 获取指定Flow的信息
	 *
	 * @param id
	 * @return
	 */
	FlowInfo get(String id);

	/**
	 * 保存某个flow
	 * 
	 * @param f
	 * @return
	 */
	void save(FlowInfo f);

	/**
	 * 用于查询编辑过的服务
	 * @param pageNo 
	 * @param pageSize 
	 * @return
	 */
	PagedResult<FlowInfo> find(int pageNo, int pageSize);

	/**
	 * 
	 * @param projId
	 * @param key
	 * @param orderBy
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	PagedResult<FlowInfo> list(String projId, String key, String orderBy, int pageNo, int pageSize);
}
